<?php
namespace App\Http\Controllers\Utils;

use Illuminate\Support\Facades\Redis;

class RedisUtils{
    /**
     * @param $scene 锁场景
     * @param $expire 锁有效期
     * @return bool
     */
    public function lock($key,$value, $expire = 10){
        if (!$key || !$expire){
            return false;
        }
        $result = Redis::SET($key, $value, 'NX','EX' ,$expire) ;
        if($result)
            return $value;
        else
            return $result;
    }
/**
 * 解锁
 */
public function unLock($key,$arg){
    $script = <<<LUA
        local key=KEYS[1]
        local value=ARGV[1]
        if(redis.call('get', key) == value) then
            return redis.call('del', key)
        end
    LUA;
    // 执行lua脚本
    Redis::eval($script,1, $key, $arg);
}
}
